home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 32 / 64er_Magazin_Sonderheft_32_19xx_Markt__Technik_de_Side_B.d64 / geocheck teil 2 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  4KB  |  150 lines

  1. 100 rem *** geocheck - pt 2 ***
  2. 105 rem *** florian mueller ***
  3. 110 rem
  4. 115 rem based on the program "geos file-analyzer" (c=-buch "alles ueber geos")
  5. 120 :
  6. 125 :
  7. 130 clr:for f=49152 to 49189:read x:pokef,x:next
  8. 135 sys 49152
  9. 140 data 169 ,11, 160, 192, 141, 38, 3, 140, 39
  10. 145 data3, 96, 201, 65, 144
  11. 150 data9,201,91,176,5,73 ,32, 76, 202, 241,201,97,144,249,201,123,176,245
  12. 155 data73,32,76,202,241,255
  13. 160 print"":c$=" ":forf=1to6:c$=c$+c$:next
  14. 165 ss$=chr$(160):forf=1to4:ss$=ss$+ss$:next
  15. 170 m$="geos "+chr$(102)+chr$(111)+chr$(114)+chr$(109)+chr$(97)+chr$(116)+" v1.0"
  16. 175 dimd$(150),t$(150),s$(150),ds(150),db(150),fd$(7),fs$(1),fg$(14),ib$(256)
  17. 180 dimr$(20)
  18. 185 for f=0 to 7:read fd$(f):next
  19. 190 data del,seq,prg,usr,rel,???,???,???
  20. 195 fs$(0)="sequentiell":fs$(1)="vlir"
  21. 200 for f=0 to 14:read fg$(f):next
  22. 205 data "c= prg","basic-programm",assemblerprog.,reine daten,systemdatei
  23. 210 data hilfsprogramm,anwendung,dokument,schriftart,druckertreiber
  24. 215 data eingabetreiber,disk-treiber,startprogramm,temporaer,selbstausfuehrend
  25. 220 goto 325
  26. 225 rem sub
  27. 230 poke806,202:poke807,241:return
  28. 235 ds=1:p=1:open1,8,15:open2,8,2,"#"
  29. 240 print#1,"u1 2 0 18";ds
  30. 245 get#2,nt$:get#2,ns$:nt$=nt$+chr$(0)
  31. 250 fori=0to7:if p>1 then print"";p-1
  32. 255 print#1,"b-p 2";i*32+2
  33. 260 get#2,ty$:ty$=ty$+chr$(0):ifty$=chr$(0)orty$=chr$(128)then280
  34. 265 print#1,"b-p 2";i*32+5
  35. 270 forj=1to16:get#2,a$:d$(p)=d$(p)+a$:next:ds(p)=ds:db(p)=i*32
  36. 275 get#2,t$:get#2,s$:t$(p)=t$+chr$(0):s$(p)=s$+chr$(0):p=p+1
  37. 280 next:ifp>149then290
  38. 285 ifnt$<>chr$(0)thends=asc(ns$):goto240
  39. 290 close2:close1:p=p-1:return
  40. 295 open1,8,15:open2,8,2,"#"
  41. 300 print#1,"u1 2 0 18 0"
  42. 305 print#1,"b-p 2 173":i$=""
  43. 310 fori=1to16:get#2,a$:i$=i$+a$:next
  44. 315 close2:close1:return
  45. 320 :
  46. 325 rem *** hauptprogramm ***
  47. 330 :
  48. 335 print"[147]geo[195]heck  teil 2 (check scrap erstellen)[146]"
  49. 340 print:print" von [198]lorian [205]ueller ([205]arkt & [212]echnik)"
  50. 345 print" autor von 'c64 - alles ueber geos 1.2'  und 'c64 - geos 1.3 deutsch'
  51. 350 [153]" peekitte eine chr$val(NULL)(NULL)-str$iskette einlegen und   <(NULL)val(NULL)(NULL)(NULL)(NULL)> druecken"
  52. 355 [151]53296,0:[151]53265,27
  53. 360 [161]a$:[139]a$[179][177][199](13)[167]360
  54. 365 [141]225:[141]295:[139]i$[179][177]m$[167] 350
  55. 370 [153]"load         str$irectory wird gelesen.        wait"
  56. 375 [153]"    _ atnnzahl der gelesenen ascileeintraege"
  57. 380 [141]235:o[178]1
  58. 385 :
  59. 390 :
  60. 395 [153]"load     ascile zur peekearbeitung auswaehlen    "
  61. 400 [153]" str$isk enthaelt ";p;"cmd wait ascile";:[139][181](p)[179][177]1[167][153]"s";
  62. 405 [153]"."
  63. 410 [153]" len(NULL)(NULL)(NULL)(NULL)(NULL) (NULL)(NULL)wait    1 ascile zurueck":[153]" len(NULL)(NULL)(NULL)(NULL)(NULL) str$(NULL)(NULL)(NULL)wait  1 ascile vor"
  64. 415 [153]" (NULL)val(NULL)(NULL)(NULL)(NULL)wait       ascile nehmen":[153]" asc1wait           (NULL)eue str$iskette"
  65. 420 [158]49152:[153]"";c$:[153]"onascile #";o;":   ";d$(o)
  66. 425 [161]a$:[139]a$[178]""[167]425
  67. 430 [139]a$[178]"on"[167]o[178]o[171]1:[139]o[178]0[167]o[178]p
  68. 435 [139]a$[178]""[167]o[178]o[170]1:[139]o[177]p[167]o[178]1
  69. 440 [139]a$[178]"input"[167][138]135
  70. 445 [139]a$[179][177][199](13)[167]420
  71. 450 [139]t$(o)[179][177][199](0)[167][153]:[153]:[153]:[137]480
  72. 455 [153]"load(NULL)ein chr$val(NULL)(NULL)-ascile !"
  73. 460 [153]
  74. 465 [153]"<(NULL)val(NULL)(NULL)(NULL)(NULL)>"
  75. 470 [161]a$:[139]a$[179][177][199](13)[167]470
  76. 475 [137] 395
  77. 480 :
  78. 485 n$[178]"":i[178]1
  79. 490 [139] [202](d$(o),i,1)[178][199](160) [167] 500
  80. 495 n$[178]n$[170][202](d$(o),i,1):i[178]i[170]1:[139] i[179][178]16 [167] 490
  81. 500 fe$[178]"":[141]225
  82. 505 [159] 1,8,15,"i":[159] 2,8,2,"#"
  83. 510 [152]1,"u1 2 0 18";ds(o)
  84. 515 [152]1,"b-p 2";db(o)
  85. 520 [129] f[178]1 [164] 32
  86. 525 :[161]#2,a$:[139] a$[178]"" [167] a$[178][199](0)
  87. 530 :fe$[178]fe$[170]a$
  88. 535 [130]
  89. 540 [160]1:[160]2
  90. 545 it[178][198]([202](fe$,22,1)[170][199](0))
  91. 550 is[178][198]([202](fe$,23,1)[170][199](0))
  92. 555 fg[178][198]([202](fe$,25,1)[170][199](0))
  93. 560 dy[178][198]([202](fe$,26,1)[170][199](0))
  94. 565 dm[178][198]([202](fe$,27,1)[170][199](0))
  95. 570 dd[178][198]([202](fe$,28,1)[170][199](0))
  96. 575 dh[178][198]([202](fe$,29,1)[170][199](0))
  97. 580 mi[178][198]([202](fe$,30,1)[170][199](0))
  98. 585 [153] "fileeintrag #";o
  99. 590 [153] "fileeintrag auf spur 18/block";ds(o)
  100. 595 [153] "info-block auf spur";it;"/sektor";is
  101. 600 [153] "geos-filetyp:      ";
  102. 605 [139] fg[177]14 [167] [153] "fuehrt zu absturz";
  103. 610 [139] fg[179][178]14 [167] [153] fg$(fg);
  104. 615 [153] " (";fg;")"
  105. 620 [153] "datum der letzten modifikation:"
  106. 625 [153] [201]([196](dd[170]100),2);".";[201]([196](dm[170]100),2);".";dy[170]1900;
  107. 630 [153] "    ";[201]([196](dh[170]100),2);".";[201]([196](mi[170]100),2)
  108. 635 [141]225
  109. 640 [153]:[153]:[153]"nun wird der info-block eingelesen.":[153]
  110. 645 :
  111. 650 [159] 1,8,15,"i":[159] 2,8,2,"#"
  112. 655 [152]1,"u1 2 0";it;is
  113. 660 [152]1,"b-p 2 0"
  114. 665 :
  115. 670 [129] f[178]1 [164] 256
  116. 675 [161]#2,a$:[139] a$[178]"" [167] a$[178][199](0)
  117. 680 ib$(f)[178]a$
  118. 685 [130]
  119. 690 :
  120. 695 [160]1:[160]2
  121. 700 :
  122. 701 [159]1,8,0,d$(o)[170]",p,r":[161] #1,b1$,b2$:[160]1
  123. 702 [139] b1$[178]"" [167] b1$[178][199](0)
  124. 703 [139] b2$[178]"" [167] b2$[178][199](0)
  125. 704 [153]"byte #1:"[198](b1$):[153]"byte #2:"[198](b2$)
  126. 705 [143] *** info-block steht jetzt ***
  127. 710 [143] ***     im array ib$()     ***
  128. 715 :
  129. 720 :
  130. 725 [143] *** ablegen der eingelesenen
  131. 730 [143] *** daten in einem check scrap
  132. 735 :
  133. 740 [153]"peekitte nun eine (NULL)ieldiskette fuer das"
  134. 745 [153]"geolenheck-ascile einlegen. str$iese str$iskette"
  135. 750 [153]"muss nicht das chr$val(NULL)(NULL)-ascormat aufweisen."
  136. 755 :
  137. 760 [153]"<shift>"
  138. 765 [151]653,0:[146]653,1
  139. 770 [159]1,8,15,"s:check scrap"
  140. 775 [132]1,a,a$,b,c:[153]"disk:"a;a$;b;c
  141. 780 [160]1:[139] a[177]19 [167] [144]
  142. 785 [160]1:[159]2,8,2,"check scrap,p,w"
  143. 790 [152]2,[199](fg)[199](dy)[199](dm)[199](dd)[199](dh)[199](mi);
  144. 791 [139] b1$[178]"" [167] b1$[178][199](0)
  145. 792 [139] b2$[178]"" [167] b2$[178][199](0)
  146. 793 [152]2,b1$;b2$;
  147. 795 [129] f[178]1 [164] 256:[152]2,ib$(f);:[130]
  148. 800 [160]2
  149. 805 [153]"schreibvorgang abgeschlossen.":[141]225:[128]
  150.